package com.czmh.etc.onlinepubsys.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * ETC支付订单表
 * </p>
 *
 * @author eric
 * @since 2021-11-10
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("etc_pay_order")
@ApiModel(value="EtcPayOrder对象", description="ETC支付订单表")
public class EtcPayOrder implements Serializable {

    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "ID")
    private String id;

    @ApiModelProperty(value = "设备产品编码")
    private String productSn;

    @ApiModelProperty(value = "ETC卡号")
    private String etcSn;

    @ApiModelProperty(value = "主订单id")
    private String orderSn;

    @ApiModelProperty(value = "订单id-外键关联")
    private String orderNo;

    @ApiModelProperty(value = "用户id")
    private String userId;

    @ApiModelProperty(value = "昵称")
    private String nickName;

    @ApiModelProperty(value = "车牌号")
    private String vehiclePlate;

    @ApiModelProperty(value = "车牌色")
    private Integer vehicleColor;

    @ApiModelProperty(value = "openid")
    private String openid;

    @ApiModelProperty(value = "unionid")
    private String unionid;

    @ApiModelProperty(value = "支付方式 0-微信")
    private Integer payType;

    @ApiModelProperty(value = "渠道类型(同步流程渠道类型)")
    private Integer chanelType;

    @ApiModelProperty(value = "订单类型：1设备订金，2前置设备订金")
    private Integer type;

    @ApiModelProperty(value = "支付单号")
    private String payNo;

    @ApiModelProperty(value = "退款单号")
    private String refundNo;

    @ApiModelProperty(value = "支付金额, 单位:分")
    private Integer amount;

    @ApiModelProperty(value = "省")
    private String province;

    @ApiModelProperty(value = "市")
    private String city;

    @ApiModelProperty(value = "县/区")
    private String region;

    @ApiModelProperty(value = "详细地址")
    private String detailAddress;

    @ApiModelProperty(value = "收货人姓名")
    private String consigneeName;

    @ApiModelProperty(value = "收货人手机号码")
    private String consigneePhone;

    @ApiModelProperty(value = "手机号码")
    private String phone;

    @ApiModelProperty(value = "物流公司(配送方式)")
    private String deliveryCompany;

    @ApiModelProperty(value = "物流公司编码")
    private String deliveryCode;

    @ApiModelProperty(value = "物流单号")
    private String deliverySn;

    @ApiModelProperty(value = "物流状态:0待发货 1已发货")
    private Integer deliveryState;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "审核不通过原因")
    private String reason;

    @ApiModelProperty(value = "接口通讯数据")
    private String jsonData;

    @ApiModelProperty(value = "支付状态 0-未支付 1-已支付 2-退款待审核 3-审核通过 4 -审核不通过 5-退款中 6-退款成功 7-退款失败 8-重新退款 9-失效订单")
    private Integer payState;

    @ApiModelProperty(value = "支付时间")
    private Date payTime;

    @ApiModelProperty(value = "退款时间")
    private Date refundTime;

    @ApiModelProperty(value = "退款申请时间")
    private Date refundApplyTime;

    @ApiModelProperty(value = "退款审核通过时间")
    private Date refundPassTime;

    @ApiModelProperty(value = "发货时间")
    private Date deliveryTime;

    @ApiModelProperty(value = "状态(0未使用，1未推送 2已推送)")
    private Integer status;

    @ApiModelProperty(value = "0.未删除 1.删除")
    private Integer deleteFlag;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "更新时间")
    private Date updatedTime;

    @ApiModelProperty("支付订单类型 0-设备 1-商品")
    private Integer ispayType;

    @ApiModelProperty("是否领取权益 0-未领取 1-已领取")
    private Integer isreceive;

    @ApiModelProperty("客户名字")
    private String customer;

    @ApiModelProperty("产品 0-补胎包 1-香薰")
    private Integer proName;
}
